package Modelo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import Base.Conexion4MySql;

public class AdmContacto {
static private AdmContacto instancia = null;
	
	

	static public AdmContacto getInstancia() 
	{
		if( instancia == null)
		{
			instancia = new AdmContacto();
		}
		return instancia;
	}
	
	/*
	* Metodos del singleton.
	*/
	public String metodo() {
		return "AdmContacto ya instanciado";
		}
		
		public int ingresarContacto(Contacto a)
		{
			
			Integer IDcon= a.dameID();// se asigna en BD autoincremental
			String FFH= a.dameFFH();// se asigna en BD current_timestamp
			String quienLlamo = a.dameQuienLlamo();
			String descripcion= a.dameDescripcion();
			String formaCom= a.dameFormaCom();
			//1109
			String area= a.dameArea();
			String CM=a.dameCM();
			
			//1109
			String sentenciaSql="INSERT INTO `formar`.`Consulta` " +
			"(`QuienLlamo`, `Descripcion`, `FormaCom`, `Area`, `CM`) " +
			"VALUES ('" +quienLlamo+"', '"+descripcion+"', '"+formaCom+"', '"+area+"', '"+CM+"');";
			
			
			/*String sentenciaSql="INSERT INTO `formar`.`Consulta` " +
			"(`QuienLlamo`, `Descripcion`, `FormaCom`) " +
			"VALUES ('" +quienLlamo+"', '"+descripcion+"', '"+formaCom+"');";*/
	System.out.println("sentencia = "+sentenciaSql);
	
	Conexion4MySql conexion = Conexion4MySql.getInstancia();
	
	int z = conexion.insertarPrueba(sentenciaSql);
	
	
	
	
	System.out.println("z (retorno del insert) ="+ z);
	
	return z;
		}
	
		
		public Integer dameIDConIngresado2()
		{
			Integer IDConI;
			ArrayList<Integer> resultado = new ArrayList<Integer>();
			String c="SELECT  max(IDCon) ID FROM formar.consulta;";	
			
			ResultSet  r=Conexion4MySql.getInstancia().listaCMconsulta2(c);
			System.out.println(r);
			try {
				while (r.next())
				{
					Integer r1=r.getInt("ID");
					System.out.println("IDConIngresado >>> "+r1);
					resultado.add(r1);
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			try {
				r.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			IDConI= resultado.get(0);
			return IDConI;
		}
		
	public Integer  dameIDConIngresado()// no funciona retorna null
		{
			String sIDConIngr = null;
			Integer IDConIngr = null;
			//String c="SELECT  max(IDCon) ID FROM formar.Contacto;";	
			String c="SELECT  max(IDCon) ID FROM formar.consulta;";
			
			ResultSet  r=Conexion4MySql.getInstancia().listaCMconsulta2(c);
			System.out.println("r >>"+r);
			
				try {
					//IDConIngr = r.getInt(1);
					IDConIngr = r.getInt("ID");
					System.out.println("IDConIgr >>"+IDConIngr);
					sIDConIngr = r.getString(1);
					//sIDConIngr = r.getString("ID");
					System.out.println("sIDConIgr >>"+sIDConIngr);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				try {
					r.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
			
			System.out.println("dameIDCon contacto ingresado - "+IDConIngr + " " +sIDConIngr);
			System.out.println( c);
			
			
			return IDConIngr;
		}
	
	public ResultSet  dameContactoXAlumno(String alu) //310713
	{
		//ArrayList<String[]> resultado = new ArrayList<String[]>();
		
		String c="SELECT  * FROM formar.Consulta  WHERE `QuienLlamo`='"+alu+"' ORDER BY `FFH`  DESC;";//1308
		//String c="SELECT  * FROM formar.Consulta  WHERE `QuienLlamo`='"+alu+"';";
		//String c="SELECT  * FROM formar.Consulta WHERE QuienLlamo = alu;";	
		
		ResultSet  r=Conexion4MySql.getInstancia().listaCMconsulta2(c);
		System.out.println("dameContacto - "+r);
		System.out.println( c);
		
		
		return r;
	}
	
	public ResultSet  dameContactoXCM(String cm) //161013
	{
		//ArrayList<String[]> resultado = new ArrayList<String[]>();
		
		String c="SELECT  * FROM formar.Consulta  WHERE `CM`='"+cm+"' ORDER BY `FFH`  DESC;";//1308
		//String c="SELECT  * FROM formar.Consulta  WHERE `QuienLlamo`='"+alu+"';";
		//String c="SELECT  * FROM formar.Consulta WHERE QuienLlamo = alu;";	
		
		ResultSet  r=Conexion4MySql.getInstancia().listaCMconsulta2(c);
		System.out.println("dameContacto - "+r);
		System.out.println( c);
		
		
		return r;
	}
	
	public ResultSet  dameContactoXAlumnoXCM(String alu, String cm) //161013
	{
		//ArrayList<String[]> resultado = new ArrayList<String[]>();
		
		String c="SELECT  * FROM formar.Consulta  WHERE  `QuienLlamo`='"+alu+"'AND `CM`='"+cm+" 'ORDER BY `FFH`  DESC;";//1308
		//String c="SELECT  * FROM formar.Consulta  WHERE `CM`='"+cm+" AND `QuienLlamo`='"+alu+"' ORDER BY `FFH`  DESC;";//1308
		
		ResultSet  r=Conexion4MySql.getInstancia().listaCMconsulta2(c);
		System.out.println("dameContacto - "+r);
		System.out.println( c);
		
		
		return r;
	}
	
		public ResultSet  dameContacto()
		{
			//ArrayList<String[]> resultado = new ArrayList<String[]>();
			String c="SELECT  * FROM formar.Consulta ORDER BY FFH DESC ;";//1308
			//String c="SELECT  * FROM formar.Consulta;";
			
			ResultSet  r=Conexion4MySql.getInstancia().listaCMconsulta2(c);
			System.out.println("dameContacto - "+r);
			System.out.println( c);
			
			
			return r;
		}
//}
public int ModifContacto(Contacto con, Integer IDcon)
{
	
	String FFH= con.dameFFH();
	String quienLlamo = con.dameQuienLlamo();
	String descripcion = con.dameDescripcion();
	String formaCom = con.dameFormaCom();
	
	String sentenciaSql="UPDATE `formar`.`consulta` SET `quienLlamo`='"+quienLlamo+"', `descripcion`='"+descripcion+"', `formaCom`='"+formaCom+"' WHERE `IDcon`='"+IDcon+"';";
	//String sentenciaSql="UPDATE `formar`.`consulta` SET `FFH`='"+FFH+"', `quienLlamo`='"+quienLlamo+"', `descripcion`='"+descripcion+"', `formaCom`='"+formaCom+"' WHERE `IDcon`='"+IDcon+"';";
		// la FFH original no se modifica
	System.out.println("sentencia = "+sentenciaSql);
	System.out.println("IDcon - FFH "+IDcon+" - "+FFH);
	Conexion4MySql conexion = Conexion4MySql.getInstancia();
	
	int a = conexion.insertarPrueba(sentenciaSql);
	
	
	
	
	System.out.println("a (retorno del insert) ="+ a);
	
	return a;
}
public ResultSet dameContactoConID(Integer i){
	
	String c="SELECT  * FROM formar.Consulta WHERE `IDcon`='"+i+"';";
	//String c="SELECT  * FROM formar.Consulta WHERE `QuienLlamo`='"+i+"';";
	//String c="SELECT  * FROM formar.Consulta WHERE QuienLlamo = alu;";	
	
	ResultSet  r=Conexion4MySql.getInstancia().listaCMconsulta2(c);
	System.out.println("dameContacto - "+r);
	System.out.println( c);
	
	
	return r;
}


}